package com.vegetable.modules.entity.finance.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 支付日志查询参数DTO
 *
 * @author Qoder
 */
@Data
@ApiModel(value = "PaymentLogQueryDTO对象", description = "支付日志查询参数DTO")
public class PaymentLogQueryDTO {

    @ApiModelProperty(value = "付款ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long paymentId;

    @ApiModelProperty(value = "单据编号")
    private String docNo;

    @ApiModelProperty(value = "支付状态 0-待支付 1-支付成功 2-支付失败 3-支付中")
    private Integer status;

    @ApiModelProperty(value = "支付渠道 1-银联 2-微信 3-支付宝")
    private Integer channel;

    @ApiModelProperty(value = "付款人")
    private String payerName;

    @ApiModelProperty(value = "收款人")
    private String payeeName;

    @ApiModelProperty(value = "支付开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payStartTime;

    @ApiModelProperty(value = "支付结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payEndTime;

    @ApiModelProperty(value = "页码")
    private Integer page = 1;

    @ApiModelProperty(value = "每页大小")
    private Integer limit = 10;
}